package Util;

import Data.Conexao;
import java.util.Calendar;
import java.util.Date;

/**
 *
 * @author Rafael
 */
public class Utilidades extends Conexao {

    private int dias_devolucao = 2;
    private boolean contar_sabados = false;

    private Utilidades() {
    }

    public static Utilidades getInstance() {
        return ConfiguracoesHolder.INSTANCE;
    }

    private static class ConfiguracoesHolder {

        private static final Utilidades INSTANCE = new Utilidades();
    }

    public int getDias_devolucao() {
        return dias_devolucao;
    }

    public void setDias_devolucao(int dias_devolucao) {
        this.dias_devolucao = dias_devolucao;
    }

    public Date data_devolucao(Date data_retirada) {
        Calendar calendario = Calendar.getInstance();

        calendario.setTime(data_retirada);

        calendario.add(Calendar.DAY_OF_MONTH, dias_devolucao + 1);

        //Checo se caiu no sabado e se nao conta o sabado
        if (calendario.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY && contar_sabados == false) {
            //adiciono dois dias para cair na segunda
            calendario.add(Calendar.DAY_OF_MONTH, 2);
        }

        //Caso cair no domingo mudo pra segunda
        if (calendario.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
            calendario.add(Calendar.DAY_OF_MONTH, 1);
        }

        return calendario.getTime();

    }
}
